

package es.realtimesystems.simplemulticast;
import java.net.*;

public class PruebaCanalMulticastReceptor implements CanalCallback
{
long contadorBytesRecibidos = 0;

  public PruebaCanalMulticastReceptor()
  {
  final String mn="PRUEBACANALMULTICASTRECEPTOR()";
try{
  Address dirMcast = new Address (InetAddress.getByName ("224.100.100.100"),2000);


  CanalMulticast canalMcast = new CanalMulticast(dirMcast);
  canalMcast.setTTL ((byte)8);
  canalMcast.setCallback (this,0);

  while (this.contadorBytesRecibidos < 39900)
  {
   Temporizador.sleep (100);
   Thread.yield();
  ;
  }

 Log.log (mn,"Tiempo de Fin: " + Temporizador.tiempoActualEnMseg());

  }catch (java.net.UnknownHostException e)
   {
    Log.log (mn,""+e);
   }
  catch (java.io.IOException e)
   {
    Log.log (mn,""+e);
   }
  }

  public static void main(String[] args)
  {
   new PruebaCanalMulticastReceptor();
  }
public void canalCallback(int arg, Buffer buf, Address src)
  {
    final String  mn = "canalCallback(int,Buffer,Address)";

   /* try
    {
      Log.log (mn,"buf: " + buf.getInt(0));
    }
    catch(ParametroInvalidoExcepcion e)
    {
     ;
    }*/
    //Log.log (mn,"Numero bytes recibidos: " + buf.getLength());
    this.contadorBytesRecibidos += buf.getLength();
    //Log.log (mn,"Bytes acumulados: " + this.contadorBytesRecibidos);
    //Log.log(mn,"Tiempo "+Temporizador.tiempoActualEnMseg());
  }



}
